//https://www.cnblogs.com/star91/p/zhuang-shi-qi-mo-shiES7-Decorator-zhuang-shi-qi.html

function Monkey() {
    console.log("很久很久以前，海边的一块石头，吸日月之精华，集天地之灵气，突然有一天，石头崩裂，从里面窜出一只泼猴！");
}

Monkey.prototype = {
    toString: function () {
        console.log('我是泼猴');
    },
    attack: function () {
        console.log("猴拳出击");
    },
    defend: function () {
        console.log("我跳，我跳，我跳跳跳");
    }
}

// 创建装饰器，接收 monkey 对象作为参数。
var Decorator = function (monkey) {
    this.monkey = monkey;
}


// 装饰者要实现这些相同的方法
Decorator.prototype = {
    toString: function () {
        this.monkey.toString();
    },
    attack: function () {
        this.monkey.attack();
    },
    defend: function () {
        this.monkey.defend();
    }
}